package cn.tedu.collection;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

//数组转换为List集合
//数组的工具类Arrays提供了一个静态方法asList,可以将一个数组转换为List集合
public class ArrayToListDemo {
    public static void main(String[] args) {
        String[] array = {"one","two","three","four","five"};
        System.out.println("Array:"+ Arrays.toString(array));

        List<String> list =Arrays.asList(array);
        System.out.println("List:"+list);
        //对该集合的操作就是对原数组对应的操作
        list.set(1,"six");
        System.out.println("List:"+list);
        System.out.println("Array:"+ Arrays.toString(array));//数组元素也响应改变
        /**
         * 由于数组定长,所以该集合不支持增删元素操作.会抛出异常
         *  java.lang.UnsupportedOperationException
         *             不支持的    操作      异常
         */
        //        list.add("seven");
        //        System.out.println("List:"+list);
        //        System.out.println("Array:"+Arrays.toString(array));

        //若希望对集合元素进行增删动作，则需要创建一个新集合并包含数组转换的集合中所有元素即可

        //所有集合都支持一个参数为Collection的构造器，作用是创建当前集合同时包含给定集合所有元素


        List list2=new ArrayList(list);
        System.out.println("list2:"+list2);
        list2.add("seven");
        System.out.println("list2:"+list2);
    }
}
